1. Field
The embodiments discussed herein are directed to image data encoding/decoding with use of differential encoding and may include a “speed-up” technique for an inter-frame prediction process.
2. Description of the Related Art
In recent years, standards such as H.264, MPEG-4, VC-1, AVS, and so on are well known as image compression techniques making use of differential encoding.
Methods of performing an inter-frame prediction used for the above-discussed standards include a “Temporal Direct” mode operation or a “Weighted Prediction” operation. For the above operations, a calculation using a Distance Scale Factor(DSF) is used.
However, because the calculation using the DSF takes quite a lot of time in executing a calculation process, reduction in calculation time is desired.
FIG. 12 illustrates a schematic diagram of an inter-frame prediction unit including a Temporal Direct mode process unit and a Weighted Prediction process unit.
The Temporal Direct mode process unit and the Weighted Prediction process unit include a Macro Block (MB) analysis unit 121, a TD/WP coefficient activation selection unit 122, a TD operation unit 123, a WP coefficient operation unit 124, a RefIdx-PicIdx conversion table 125, a PicIdx-Poc conversion table 126, a DSF calculator 127, a motion vector (MV) generation unit 128, a WP coefficient generation unit 129, an image generation unit 1210, and a past-frame buffer 1211.
The MB analysis unit 121 analyzes a Macro Block type (MB_type) and analyzes whether to perform a Temporal Direct mode process or a Weighted Prediction process.
Hereinafter, the Temporal Direct mode is referred to as a “TD process” and the Weighted Prediction is referred to as a “WP process.”
The TD/WP coefficient activation selection unit 122 chooses the TD operation unit 123 in performing the TD process based on a result of a determination made by the MB analysis unit 121 and chooses the WP coefficient operation unit 124 in performing the WP process.
The TD operation unit 123 executes the Temporal Direct mode operation and outputs a START signal activating the DSF calculator 127.
Next, the TD operation unit 123 acquires an operation result by the DSF calculator 127 and outputs a TD operation result to the MV generation unit 128.
The WP coefficient operation unit 124 performs a weighted prediction and outputs the START signal activating the DSF calculator 127.
Then, the WP coefficient operation unit 124 acquires a calculation result of the DSF calculator 127 and outputs a WP operation result to the WP coefficient generation unit 129.
The RefIdx-PicIdx conversion table 125 generates a picture index (PicIdx) corresponding to a reference picture index (RefIdx) used by the TD operation unit 123 or by the WP coefficient operation unit 124.
The PicIdx-Poc conversion table 126 generates a forward reference Picture Order Count (POC0) and a backward reference Picture Order Count (POC1) based on the reference picture index and parity (Parity).
The DSF calculator 127 performs a Clip3 process with use of a POCCU and outputs (a POC0 and a POC1) from the PicIdx-Poc conversion table 126 and outputs the DSF calculation result to the TD operation unit 123 or the WP coefficient operation unit 124, one of which has already been chosen.
The MV generation unit 128 performs a switching operation between a motion vector output that is output from the TD operation unit 123, and peripheral prediction vectors other than the TD operations, and transfers a motion vector to the image generation unit 1210.
The WP coefficient generation unit 129 performs a switching operation between a WP coefficient operation output that is output from the WP coefficient operation unit 124 (Implicit) and outputs of the WP coefficient operations of the other WP operations, and transfers a motion vector to the image generation unit 1210.
The image generation unit 1210 generates an inter-frame prediction image with use of the output from the MV generation unit 128 or the output from the WP coefficient generation unit 129 relative to an image of the past-frame buffer 1211.
The past-frame buffer 1211 is a memory that stores previously accumulated frames.
However, it should be noted that, in the operations performed by the Temporal Direct mode operation unit and the Weighted Prediction operation unit discussed above, the DSF calculation is performed in each operation by using a picture that is an object of decoding, a forward reference picture, and a backward reference picture with respect to each Macro Block (MB). Consequently, the efficiency of calculations is low relative to the length of process time.
Moreover, if a cache (memory) is provided on a chip to cause the cache (memory) to perform the DSF calculation, the pictures are separately managed with respect to each picture, such as, the picture that is the object of decoding, the forward reference picture, and the backward reference picture. For example, in a case of a reference frame with 32 Bits, if the number of pictures (L0) referred to by the forward reference picture is 32, and the number of pictures (L1) referred to by the backward reference pictures is also 32, a memory equal to 32×32×32 words (Word) is required, which is not practical.
Furthermore, Japanese Laid-open Patent Publication No. 1998-136382, Japanese Laid-open Patent Publication No. 2002-199405, and Japanese Laid-open Patent Publication No. 2006-121702 disclose methods of reducing calculation process times necessary for the inter-frame prediction, respectively.